package com.heima.article.service;

import com.heima.article.entity.ApArticle;
import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.media.dtos.WmNewsDto;
import com.heima.model.media.dtos.WmNewsResultDTO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 文章信息表，存储已发布的文章 服务类
 * </p>
 *
 * @author heima
 * @since 2021-03-19
 */
public interface IApArticleService extends IService<ApArticle> {
    /**
     * 保存文章数据
     * @param wmNewDto
     * @return
     */
    Long saveArticle(WmNewsResultDTO wmNewDto);

    /**
     * 更新文章上下架状态
     * @param map
     */
    void updateIsDown(Map<String, Integer> map);
    /**
     * 获取首页内容
     * @param dto
     * @param type  1- load或者load more 2- load new
     * @return
     */
    List<ArticleDto> load(ArticleHomeDto dto, int type);
    /**
     * 加载文章详情数据
     */
    Map<String, Object> loadArticleInfo(ArticleInfoDto dto);
    /**
     * 加载文章详情页面行为数据
     */
    Map<String, Boolean> loadArticleBehavior(ArticleInfoDto dto);
    /**
     * 查询所有未下架、未删除的文章列表
     */
    List<ArticleDto> findByPage(int page, int size);
    /**
     * 加载首页文章
     * @return
     */
    List<ArticleDto> loadFirst(ArticleHomeDto dto);
}
